package com.team.employment.common.exception;

/*
    全局异常处理：在controller层中方法抛出的的异常，全会被处理；不用在controller层try{}catch{}了；
 */


import com.team.employment.common.result.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    @ResponseBody   //@ResponseBody 是一个注解，用于指示方法返回的结果应该直接写入 HTTP 响应体中，而不是解析为视图名称并渲染视图。
    public Result handle(Exception e){
        e.printStackTrace();
        return Result.fail();
    }


    @ExceptionHandler(CustomException.class)
    @ResponseBody   //@ResponseBody 是一个注解，用于指示方法返回的结果应该直接写入 HTTP 响应体中，而不是解析为视图名称并渲染视图。
    public Result handle(CustomException e){
        e.printStackTrace();
        return Result.fail(e.getCode(),e.getMessage());
    }

}
